Le dialogue du programmation
Pensez à la différence entre un simple « Bonjour, monde ! » et un jeu de devinette comme la différence entre un monologue et un dialogue. Dans un monologue, le programme parle et se termine. Dans un dialogue, le programme pose une question, ouvre un écouteur et met en pause son horloge interne jusqu'à ce que l'utilisateur réponde.
1. Le préambule et l'espace de portée
Rust importe automatiquement un petit ensemble d'éléments appelés préambule dans chaque programme. Cependant, pour des tâches spécifiques comme l'entrée de terminal, nous devons explicitement importer le bibliothèque standard dans l'espace de portée en utilisant use std::io;. Cela comble le fossé entre la logique interne de votre programme et l'environnement externe.
2. Macros vs fonctions
Vous remarquerez println! se termine par un point d'exclamation. Cela l'identifie comme un macro. Contrairement aux fonctions classiques, les macros peuvent gérer un nombre variable d'arguments et effectuer une interpolation de chaîne (remplir {devine}) au moment de la compilation.
3. Le cycle interactif
Lorsque vous exécutez cargo run, le programme s'initialise, atteint io::stdin().read_line(), puis suspend. Il attend que l'utilisateur appuie sur 'Entrée', puis empaquette cette entrée dans un type Resultat pour gérer de manière sécurisée les éventuelles erreurs matérielles.